Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Amélioration de la page de contact #2966

Closed
wants to merge 1 commit into from

Conversation

Situphen
Copy link
Member

Q R
Correction de bugs ? non
Nouvelle Fonctionnalité ? non
Tickets (issues) concernés #2911
  • Ajoute les membres de l'équipe de communication et le conseil d'administration sur la page de contact
  • Réorganise la page de contact (l'ordre a été changé, on a maintenant "staff", puis "com", puis "dev" et enfin l'association)
  • Ajoute un lien pour envoyer un MP à tous les membres d'un groupe

QA : Vérifier que la page fonctionne bien (il vous faudra créer les groupes "dev", "com" et "asso" depuis l'interface d'administration puis les attribuer - manuellement un par un je crois - à quelques utilisateurs)

Vous deviez arriver à ce résultat :

Capture d'écran de la page

@SpaceFox : Quel est le nom du groupe de la com' en production ? Dans cette PR j'ai fait comme si il contenait "com", donc ça devrait fonctionner avec "com" ou "communication"

Ne pas merger ! Il faut vérifier que les noms des groupes dans le code correspondent à ceux sur la prod.

@Situphen Situphen added Evolution C-Front Concerne l'interface du site labels Aug 24, 2015
@Eskimon
Copy link
Contributor

Eskimon commented Aug 24, 2015

On a un groupe pour le CA aussi, dans le morceau "association" ca pourrait ptet etre pertinent de les lister ?

@Situphen
Copy link
Member Author

Peut-être oui. @Eskimon, tu fais parti du CA je crois, non ? Tu peux demander sur leur forum si ça leur convient ? Je vais aussi envoyer un mail à l'équipe de com' pour leur demander (même si ils diront sûrement oui, donc pour les avertir :D).

@Situphen
Copy link
Member Author

J'ai mis à jour ma PR ! Maintenant ça liste aussi les membres du CA et il y a des liens pour envoyer un mp à tous les membres du groupe.

J'ai ajouté une définition pour les groupes qui n'en avaient pas. J'ai écris de la merde donc si quelqu'un est apte à définir les rôles de chaque groupe, ce serait cool :D

page-contact

@Situphen Situphen changed the title Ajoute les membres de l'équipe de communication sur la page de contact Amélioration de la page de contact Aug 26, 2015
@pierre-24
Copy link
Member

Bon, si personne n'as rien à dire, on laisse les textes comme ça ? Ready for QA ?

@Situphen
Copy link
Member Author

Désolé @pierre-24 mais je n'ai pas encore implémenté les remarques de @Vayel faites sur le forum https://zestedesavoir.com/forums/sujet/3915/amelioration-de-la-page-de-contact/?page=1#p70669. J'essaye de faire ça ce soir ! ;)

@Situphen
Copy link
Member Author

Voilà c'est prêt à être QA ! D'ailleurs, toutes l'équipe de com' est d'accord pour être affichée sur cette page.

@pierre-24
Copy link
Member

Rapport de QA: presque OK

  • Pour une raison que je pige pas bien, le lien pour envoyer vers le forum de dev (forum_feedback_user) ne fonctionne pas. C'est surement une erreur de mon coté, parce que je vois pas de fautes de frappe/
  • Pour la page de l'association, ça vaudrait la peine de dire "plus d'info sur la page dédiée" et de renvoyer sur /pages/association/, non ?

Pas grand chose, quoi :)

@Situphen
Copy link
Member Author

Voilà, c'est fixé !

</div>

<h3>{% trans "L'équipe technique" %}</h3>
<p>
{% blocktrans with repository=app.site.repository %}
L'équipe technique est constituée de certains membres du site dont le but est d'une part de s'assurer que le site reste toujours disponible en ligne, et d'autre part de corriger les bogues rencontrés sur le site ainsi que d'ajouter de nouvelles fonctionnalités.
Des administrateurs systèmes, jusqu'aux designeurs, en passant par les développeurs back-end et intégrateurs front-end, ils s'occupent aussi de la maintenance du <a href="{{ repository }}">dépôt officiel du projet</a>. Les membres faisant partie de l'équipe technique sont les suivants :
Des administrateurs systèmes, jusqu'aux designeurs, en passant par les développeurs back-end et intégrateurs front-end, ils s'occupent aussi de la maintenance du <a href="{{ repository }}">dépôt officiel du projet</a>. Pour rester cohérent et organisé, le projet est orchestré par un Directeur Technique Canidé [DTC] et un Chef de Projet [CdP] (chaque développeur reste néanmoins autonome).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il pourrait être intéressant de linker cela.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui. Ceci dit, ça devient dangereux de linker de la doc qui pourrait changer :s

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouais mais le problème en mettant un lien vers la documentation, c'est qu'elle bug en ce moment et que l'utilisateur risque de se prendre une 404 !

EDIT pour @pierre-24 : Ça ce n'est pas un problème car on peut linker une version de la doc (par exemple v15.7)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ben sinon on peut résumer les rôles du DTC et du CdP ici. Le premier s'occupe des aspects techniques, le second du suivi du dev.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il y a vraiment besoin de dire ça ?

Directeur Technique Canidé
Chef de Projet

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vu que c'est une page de contact, il me semble intéressant d'expliquer dans quel cas contacter telle(s) personne(s), surtout ici, où les rôles sont plus précis que "communication", "dev" ou "validation".

@gustavi
Copy link
Contributor

gustavi commented Sep 16, 2015

COME BACK !

Quelques remarques que j'avais déjà fait fut une époque : cette page n'est absolument pas modulable à moins d'ajouter un groupe en dur dans le code. Pourquoi ne pas stocker ces informations dans le settings.py ?

@Situphen
Copy link
Member Author

Quelque chose comme ça ?

ZDS_APP['contact'] = [
    {
        'group': 'devs',
        'description': 'foo bar'
    },
    {
        'group': 'staff',
        ...
    }
    ...
]

@gustavi
Copy link
Contributor

gustavi commented Sep 16, 2015

Ça me semble plus propre. Un ordre peut aussi être ajouté pour pas que ça sorte en aléatoire dans le template.

@Situphen
Copy link
Member Author

Ça me semble plus propre. Un ordre peut aussi être ajouté pour pas que ça sorte en aléatoire dans le template.

Ah oui, pas bête ! Avec l'option de mettre -1 ou False pour ne pas l'afficher ou quelque chose comme ça.

@Situphen
Copy link
Member Author

Bon, je suis arrivé à ça :

ZDS_APP['contact'] = {
    'staff': {
        'position': 1,
        'title': u'Le Staff',
        'description': u"Le staff est constitué de certains membres du site dont le but est de contrôler le contenu "
                       u"publié sur {{ site_name }}. Ils sont en charge de la modération des messages sur les forums "
                       u"et commentaires, ainsi que de la validation et publication d'articles et/ou de tutoriels de "
                       u"{{ site_name }}" \
                           .format(site_name=ZDS_APP['site']['litteral_name'])
    },
    'com': {
        'position': 2,
        'title': u'Equipe de communication',
        'description': u"L'équipe de communication gère la communication du site sur les réseaux sociaux et sur la page "
                       u"d'accueil (notamment la partie \"A la Une\"). Elle a pour but de mettre en avant le contenu et "
                       u"les créations des membres."
    },
    'dev': {
        'position': 3,
        'title': u'Equipe technique',
        'description': u"L'équipe technique est constituée de certains membres du site dont le but est d'une part de "
                       u"s'assurer que le site reste toujours disponible en ligne, et d'autre part de corriger les "
                       u"bogues rencontrés sur le site ainsi que d'ajouter de nouvelles fonctionnalités.\n"
                       u"Des administrateurs systèmes, jusqu'aux designeurs, en passant par les développeurs back-end "
                       u"et intégrateurs front-end, ils s'occupent aussi de la maintenance du "
                       u"<a href='{{ repository }}'>dépôt officiel du projet</a>. Pour rester cohérent et organisé, le "
                       u"projet est orchestré par un Directeur Technique Canidé [DTC] et un Chef de Projet [CdP]"
                       u"(chaque développeur reste néanmoins autonome)." \
                           .format(repository=ZDS_APP['site']['repository'])
    },
    'asso': {
        'position': 4,
        'title': u"L'association",
        'description': u"L'association sert à assurer la pérénité du site au niveau financier et est gardienne des "
                       u"valeurs du site. Son conseil d'administration (dont les membres sont listés dessous) sert "
                       u"d'arbitre en cas de désaccord sur les nouvelles fonctionnalités du site. Pour plus "
                       u"d'informations, vous pouvez consulter "
                       u"<a href='{{ assoc_page }}'>la page dédiée à l'association</a> !" \
                           .format(assoc_page=reverse('zds.pages.views.association'))
    }
}

sauf qu'il y a la fonction reverse qui fait elle appel à settings.py donc impossible de mettre ça dans le fichier settings.py sinon on a une boucle !

@gustavi
Copy link
Contributor

gustavi commented Sep 21, 2015

Humm, je ne vois pas de solution "propre" pour ce problème. Tu as essayé quand même et tu as eu une erreur ?

@GerardPaligot
Copy link
Member

La solution propre serait sans doute de surcharger Group avec une description et de faire une requête en base pour récupérer tous les groupes et les afficher dans la page. Votre proposition, elle demande de maintenir les groupes en base et les groupes dans le settings.py.

@SpaceFox
Copy link
Contributor

Du coup, les groupes en dur dans la page, ça fera très bien le taf.

Le 21 septembre 2015 17:26, Gérard Paligot notifications@github.com a
écrit :

La solution propre serait sans doute de surcharger Group avec une
description et de faire une requête en base pour récupérer tous les groupes
et les afficher dans la page. Votre proposition, elle demande de maintenir
les groupes en base et les groupes dans le settings.py.


Reply to this email directly or view it on GitHub
#2966 (comment)
.

@GerardPaligot
Copy link
Member

C'est dommage mais ok.

@SpaceFox
Copy link
Contributor

Ben, à moins qu'on trouve une solution qui ne soit pas une usine à gaz…

2015-09-21 18:16 GMT+02:00 Gérard Paligot notifications@github.com:

C'est dommage mais ok.


Reply to this email directly or view it on GitHub
#2966 (comment)
.

@GerardPaligot
Copy link
Member

Personnellement, j'aime bien l'idée du Proxy.

@SpaceFox
Copy link
Contributor

Oui enfin, ça reste la page de contact. Pas de sur-ingénérie, s'il vous plaît.

@GerardPaligot
Copy link
Member

Ce n'était qu'une proposition.

@gustavi
Copy link
Contributor

gustavi commented Sep 22, 2015

La méthode Proxy est intéressante mais un peu lourde ici. Elle pourrait néanmoins nous être utile un jour si on veut rajouter des informations dans les groupes (pour une raison X ou Y).

@GerardPaligot
Copy link
Member

@Situphen Du nouveau ?

@Situphen
Copy link
Member Author

Situphen commented Oct 6, 2015

Concernant l'idée de @firm1 de passer par un manager pour la requête en base de donnée, j'ai pas trouvé de moyen d'en créer un pour le modèle User.

Pour ce qui est de la variabilisation des groupes :

  • dans settings.py, comme je l'ai dit, on ne peut pas si on garde des variables dans la description
  • en passant par un modèle proxy, je pense qu'on aura le même problème, à moins d'interpréter ça dans la vue

Du coup je sais pas trop. D'un côté, avoir cette page variabilisée serait cool car plus simple pour ajouter/supprimer des groupes sur la page de contact. D'un autre côté, si on trouve pas de solution, pas la peine de faire une usine à gaz, c'est beaucoup plus simple et rapide de laisser ça dans les templates (vu le nombre de fois qu'on modifie cette page ^^).


Peut-être qu'il y a moyen de faire simple en utilisant un modèle proxy qui contiendrait un booléen pour afficher ou pas le groupe sur la page de contact et deux variables (description et contact) interprétée dans la vue. Je vais essayer de voir si ça peut fonctionner.

Ajoute les membres de l'équipe de communication et du conseil d'administation de l'association
Ajoute pour chaque groupe un lien pour envoyer un mp à tous les membres du groupe
@Situphen
Copy link
Member Author

Situphen commented Oct 6, 2015

Bon, je viens de tester et on ne peut pas ajouter des champs au proxy. Est-ce que je crée une autre table héritant de Group mais n'étant pas un proxy ?

@GerardPaligot
Copy link
Member

Si tu hérites, je pense que tu devrais t'inspirer de cette ressource (surtout les 2 dernières sections). Certes, c'est pour User mais je pense qu'il est aisé de l'adapter pour Group.

@GerardPaligot
Copy link
Member

@Situphen Tu as eu le temps de tester ma ressource ou trouver une autre solution ?

@Situphen
Copy link
Member Author

@Situphen Tu as eu le temps de tester ma ressource ou trouver une autre solution ?

Il n'y a pas l'air d'avoir d'équivalent à AUTH_PROFILE_MODULE = 'accounts.UserProfile' et la méthode get_profile() de User pour Group. Je n'ai pas le temps de chercher plus.

@GerardPaligot
Copy link
Member

@Situphen A première vue, c'est possible. Tu peux retrouver ici une PR qui fait ce changement. :)

@yapper-git
Copy link
Contributor

sauf qu'il y a la fonction reverse qui fait elle appel à settings.py donc impossible de mettre ça dans le fichier settings.py sinon on a une boucle !

@Situphen : Tu as pensé à utiliser reverse_lazy (à importer) au lieu de reverse, ou je suis à côté de la plaque ?

@Situphen
Copy link
Member Author

@yapper-git : J'essayerai, merci !

@SpaceFox
Copy link
Contributor

On en est où ici ?

@Situphen
Copy link
Member Author

J'ai pas avancé faute de temps en ce moment. Je ferme, si quelqu'un veut s'en inspirer qu'il le fasse !

@Situphen Situphen closed this Jan 11, 2016
@Situphen Situphen deleted the fix-2911-contact-page branch August 11, 2018 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-Front Concerne l'interface du site
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants